<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      //属性
      console.dir(String); //以目录结构的形式输出
      var str1 = "hello hi";
      var str2 = new String("hello wdt");
      console.log(str1, str2);
      console.log(str1.length, str2.length);

      //方法
      //charAt(n)返回指定索引位置的字符
      console.log(str1.charAt(4));
      //charCodeAt(n)返回指定索引位置的字符的UNicode码
      console.log(str1.charCodeAt(3));
      //concat(str1...str2) 将字符串参数串联到调用该方法的字符串
      var str3 = str1.concat(str2);
      console.log(str3);
      //slice(n,m) 返回字符串n到m之间位置的字符串
      console.log(str3.slice(1, 4));
      //substring(n,m) 同上
      console.log(str3.substring(1, 4));
      //substr(n,m) 返回字符串n开始的m个字符
      console.log(str3.substr(1, 4)); //从下标为1开始截取4个字符
      console.log(str3.substr(1, 99999)); //截取个数不够，就截取到最后
      console.log(str3.substr(0)); //如果只带一个参数：从指定下标截取到最后
      console.log(str3.substr(-2)); //如果第一个参数为负数，表示反向截取
      //indexOf(str,n)从n开始搜索第一个str，并将搜索的索引值返回
      console.log(str3.indexOf("l")); //从下标为0的位置开始搜索 返回第一个‘l’位置的下标
      console.log(str3.indexOf("l", 4)); //从下标为4的位置开始搜索 返回第一个‘l’位置的下标
      console.log(str3.indexOf("lfbdan")); //如果str不存在将返回-1
      //lastIndexOf(str,n)从n开始搜索最后一个str，并将搜索的索引值返回
      console.log(str3.lastIndexOf("l")); //从下标为0的位置开始搜索返回最后一个‘l’位置的下标/从后往前搜索找第一次出现
    </script>
  </body>
</html>
